package cn.javass.dp.memento.example3;

public class Client {
    public static void main(String[] args) {
        //创建一个流程，并运行第一阶段
        FlowAMock mock  = new FlowAMock("TestFlow");
        mock.runPhaseOne();

        //创建一个管理者
/*
        FlowAMementoCareTaker careTaker =  new FlowAMementoCareTaker();
*/
        FlowAMementoFileCareTaker careTaker =  new FlowAMementoFileCareTaker();

        FlowAMockMemento memento = mock.createMemento();

        //保存第一阶段产生的数据
        careTaker.savemMemento(memento);

        mock.schema1();

        //从管理者获得备忘录对象，然后设置回去
        //让模拟器流程的对象自己恢复自己的内部状态
        mock.setMemento(careTaker.retriveMemento());

        mock.schema2();
    }
}
